UDS 入门指南

#Technomous #AutoSAR #UDS

车辆诊断技术

早期汽车诊断只能依靠人直观检查和判断,随着电气化技术的引入,现代汽车集成了大量的微控制器。传统的方法已经无能为力,因此车辆的自诊断技术便应运而生。汽车诊断分为两种,一种是法规强制要求的,也就是经常听到的 OBD(On Board Diagnostic)诊断。主要用于在车辆运行阶段能够及时的通知故障信息,给驾驶员以警告或提示。另一种是 UDS,也叫增强型或者离线诊断(Off Board Diagnostic)。

UDS 是什么

UDS 全称是 Unified Diagnostic Services,翻译过来是统一的诊断服务,是在汽车电子 ECU 环境下的一种诊断通信协议。诊断仪通过 UDS 协议可以对车辆进行一系列的操作,通过查询数据或者控制变量的方法对车辆进行诊断,确认是否有问题或者发生了什么问题,从而指导维修。

如何学习 UDS 协议

所有协议的最详细的描述都是其规范文件。可能是国际标准规范文件,也可能是某个特定公司的规范文件。这些都是深究协议细节时第一手的资料。下面我们来详细分析一下 UDS 涉及到哪些国际标准规范文件。在 ISO 14229-1 的文档中给出了概括性的描述。从下图可以看出 UDS 规范从 OSI 模型的第五层和第七层(会话层和应用层)进行了描述。

Pasted image 20230309170805.png|650

这么多协议我们先从哪一个入手呢?我的经验是从应用层的 ISO 14229-1 协议开始入手,先从整体上了解 UDS 包含哪些功能,再根据实际需求深究其他部分的细节。

ISO 14229-1 协议规定的 UDS 功能分类

ISO 14229-1 协议中定义了 6 类功能,26 种服务,分别是:

  1. 诊断和通信管理功能单元,包括 0x10、0x11、0x27、0x28、0x3E、0x83、0x84、0x85、0x86、0x87 共 10 种服务;
  2. 数据传输功能单元,包括 0x22、0x23、0x24、0x2A、0x2C、0x2E、0x3D 共 7 种服务;
  3. 存储数据传输功能单元,包括 0x14、0x19 共 2 种服务;
  4. 输入输出控制功能单元,包括 0x2F 服务;
  5. 远程激活例程功能单元,包括 0x31 服务;
  6. 上传下载控制功能单元,包括 0x34、0x35、0x36、0x37、0x38 共 5 种服务。